/**
 * @description 格式化时间
 * @param {number} dt - 时间戳
 * @returns {string} 
 */
function  formatTime (dt) {
  var minutes = Math.floor(dt / 60),
      seconds = dt % 60;
  return minutes + ':' + _setZero(seconds);
}

/**
 * @description 格式化时间戳
 * @param {number} dt - 时间戳
 * @returns {string} 
 */
function formatMinutes(dt){
	return new Date(dt).getMinutes();
}

/**
 * @description 单数补0
 * @param {number} num - 数值
 * @returns {string} 
 */
function _setZero (num) {
  return num < 10 ? '0' + num : num;
}
/**
 * @description 格式化播放模式
 * @param {string} mode - 模式
 * @returns {string}
 */
function formatPlayMode (mode) {
  var mappers = {
    loop: '循环播放',
    single: '单曲循环'
  };
  return mappers[mode];
}

/**
 * @description 格式化收藏状态
 * @param {string} action - 类型
 * @param {bollean} isCollect - 是否收藏
 * @returns {void}
 */
function formatCollectStatus (action, isCollect) {
  if (action === 'collect' && isCollect) {
    return 'checked_url';
  }
  return 'url';
}

/**
 * @description 格式化无数据状态
 * @param {string} mode - 播放列表类型 
 * @param {array} lists - 播放列表
 * @param {object} collect - 收藏集
 * @returns {boolean}
 */
function formatNoDataStatus (mode, lists, collect) {
  return mode === 'currency' && lists.length == 0 ||
         mode === 'blend' && collect.single && collect.single.length == 0 
                          && collect.topic && collect.topic.length === 0;
}
/**
 * @description 条件判断
 * @param {string} cond1 - 条件一 
 * @param {string} cond2 - 条件二 
 * @param {string} value - 成功返回值 
 * @param {string} reason - 失败返回值
 * @returns {string}
 */
function selectedFilter (cond1, cond2, value, reason) {
  return cond1 === cond2 ? value : reason;
}
// 导出过滤方法
module.exports = {
	formatMinutes: formatMinutes,
    formatTime: formatTime,
    selectedFilter: selectedFilter,
    formatPlayMode: formatPlayMode,
    formatCollectStatus: formatCollectStatus,
    formatNoDataStatus: formatNoDataStatus
}
